package com.leyou.common.utils;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * 生成层级数据的工具类
 *
 * 1、具有层级的类的共同点：
 *  属性：
 *      id,
 *      children,
 *      pid
 *  方法：
 *      getter和setter
 *  2、具有的静态方法：
 *      generateLevelData(T t, List<T> list)  t 某个父级对象，默认创建空对象，设置id为0;list 吧表中查询 的所有数据
 *      思想：
 *          1、查询表中所有数据list
 *          2、根据pid为0生成一级子节点list，
 *              2.1、list中如果找到pid为0的对象
 *              2.2、把该对象添加到新的childList中
 *              2.3、迭代删除list中的该对象
 *          3、判断如果list不为空，调用t.setChildren()挂载到t的子节点上
 *          4、遍历list，递归调用本方法，直到list为空
 */
public class GenerateLevelData {
    public void generateLevelData(Object obj, List<Object> list) {


    }
}
